

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HFF2FF(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HFF2FF.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HFF2FF, self).__init__(name='HFF2FF', num_nodes=14, edges=[])
        
        # Add the edges
        self.add_edges([(3, 4), (4, 8), (3, 5), (5, 9), (10, 6), (12, 6), (6, 2), (11, 7), (2, 7), (13, 7), (8, 0), (0, 9), (1, 10), (1, 11), (8, 12), (9, 13)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """FF2FF"""
        self["GUID__"] = UUID('87ccf2b9-6577-42eb-a511-6d8f49b27c83')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """directLink_T"""
        self.vs[0]["GUID__"] = UUID('e63305bf-277c-4b2b-9742-fa87aa0c0cfc')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('a4ac2ae2-1e9f-4657-848e-62393fb9d364')
        self.vs[2]["mm__"] = """indirectLink_S"""
        self.vs[2]["GUID__"] = UUID('67c74e09-867e-4e23-ab8b-659960ecc69c')
        self.vs[3]["mm__"] = """ApplyModel"""
        self.vs[3]["GUID__"] = UUID('6b9b77ec-9e25-44ba-95c1-e91bcd3b1229')
        self.vs[4]["mm__"] = """apply_contains"""
        self.vs[4]["GUID__"] = UUID('c1fc0521-3543-4b32-aa24-14d9a54e6340')
        self.vs[5]["mm__"] = """apply_contains"""
        self.vs[5]["GUID__"] = UUID('6debeaf2-9c56-44ce-9da8-9aa4adc2b116')
        self.vs[6]["mm__"] = """Female_S"""
        self.vs[6]["name"] = """f1"""
        self.vs[6]["GUID__"] = UUID('4113b48b-20e0-4c60-a1ec-5664f7cf4136')
        self.vs[7]["mm__"] = """Female_S"""
        self.vs[7]["name"] = """f2"""
        self.vs[7]["GUID__"] = UUID('50b41bed-2b92-4596-bf0d-c870bfe0519e')
        self.vs[8]["mm__"] = """Female_T"""
        self.vs[8]["name"] = """f1"""
        self.vs[8]["GUID__"] = UUID('1e07bfdd-c485-445a-9200-5baf0524d387')
        self.vs[9]["mm__"] = """Female_T"""
        self.vs[9]["name"] = """f2"""
        self.vs[9]["GUID__"] = UUID('89e406ce-94f2-435e-af23-c87f226e209b')
        self.vs[10]["mm__"] = """match_contains"""
        self.vs[10]["GUID__"] = UUID('fd89e618-aab9-4ca4-a59f-ccc6a546e82d')
        self.vs[11]["mm__"] = """match_contains"""
        self.vs[11]["GUID__"] = UUID('8ab0c6ab-4881-4b89-9c07-cb32572c8f4b')
        self.vs[12]["mm__"] = """backward_link"""
        self.vs[12]["GUID__"] = UUID('82ee6e3e-2390-4e21-9f02-13ca0d7672a4')
        self.vs[13]["mm__"] = """backward_link"""
        self.vs[13]["GUID__"] = UUID('00caab08-ff67-4584-9a09-326576c6307d')

